﻿/*****************************************************************//**
  * @file   VAOneXMLAdaptorSinks.h
  * @brief  VAOne读写半无限流体适配器
  *
  * @author lilongyuan (lilongyuan@diso.cn)
  * @date   2025-01-23
  *********************************************************************/
#ifndef VAONEXMLADAPTORSINKS_H
#define VAONEXMLADAPTORSINKS_H

#include "FITKAbstractVAOneXMLAdaptor.h"

namespace IO
{
    /**
     * @brief   XML读写适配器，用于读写半无限流体数据
     * @author  lixiaolong (lixiaolong@diso.cn)
     * @data    2025-01-23
     */
    class FITKVAOneXMLIOAPI VAOneXMLAdaptorSinks : public FITKAbstractVAOneXMLAdaptor
    {
        FITKCLASS(IO, VAOneXMLAdaptorSinks);
    public:

        /**
         * @brief   构造函数
         * @author  lixiaolong (lixiaolong@diso.cn)
         * @data    2025-01-23
         */
        explicit VAOneXMLAdaptorSinks() = default;

        /**
         * @brief   析构函数
         * @author  lixiaolong (lixiaolong@diso.cn)
         * @data    2025-01-23
         */
        ~VAOneXMLAdaptorSinks() = default;

        /**
         * @brief   适配器读数据
         * @return  是否执行成功
         * @author  lilongyuan (lilongyuan@diso.cn)
         * @date    2025-01-23
         */
        bool adaptR() override;

        /**
         * @brief   适配器写数据
         * @return  是否执行成功
         * @author  lixiaolong (lixiaolong@diso.cn)
         * @date    2025-01-23
         */
        bool adaptW() override;
    };

    Register2FITKIOAdaptorFactory(VAOneXML, Sinks, VAOneXMLAdaptorSinks)
}

#endif // VAONEXMLADAPTORSINKS_H